//package com.sinodata.bsm.center.web.action.event;
//
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.Collections;
//import java.util.List;
//
//import net.sf.json.JSONArray;
//
//import org.springframework.beans.factory.annotation.Autowired;
//
//import com.sinodata.bsm.center.bean.TreeData;
//import com.sinodata.bsm.center.cache.ResTypeCache;
//import com.sinodata.bsm.center.service.resource.ResViewService;
//import com.sinodata.bsm.center.util.web.Struts2Utils;
//import com.sinodata.bsm.center.web.action.BaseAction;
//import com.sinodata.bsm.common.vo.Event;
//import com.sinodata.bsm.common.vo.ResType;
//import com.sinodata.bsm.common.vo.ResView;
//
///**
// * <p>
// * Description: 事件管理框架类
// * </p>
// *
// * @author liulibo
// * @version 1.0
//
// * <p>
// * History: 
// *
// * Date                     Author         Version     Description
// * ---------------------------------------------------------------------------------
// * 2012-5-31 AM 9:51:25     liulibo        1.0         To create
// * </p>
// *
// * @since 
// * @see     
// */
//public class EventFrameAction extends BaseAction<Event> {
//
//    private String id;
//
//    @Autowired
//    private CiAttrCache ciAttrCache;
//    @Autowired
//    private ResTypeCache resTypeCache;
//    @Autowired
//    private CiAttrRangeCache ciAttrRangeCache;
//    @Autowired
//    private ResViewService resViewService;
//    /**
//     * 
//     */
//    private static final long serialVersionUID = 8168820121766199680L;
//
//    public String dimensionTreeData() throws IOException {
//        //        List<TreeData> treeDataList = new ArrayList<TreeData>();
//        List<TreeData> listEventType = this.getEventTypeTreeData();
//        //        TreeData treeData = new TreeData();
//        //        treeData.setId("0-资源类别");
//        //        treeData.setName("资源类别");
//        //        treeData.setChildren(listEventType);
//        //        treeData.setNocheck(true);
//        //        treeDataList.add(treeData);
//        //        List<CiAttrDef> list = ciAttrCache.getAll();
//        //        for (CiAttrDef ciAttrDef : list) {
//        //            List<TreeData> listResult = getDimensionTreeDate(String.valueOf(ciAttrDef.getId()), ciAttrDef.getId() + "-" + ciAttrDef.getName());
//        //            TreeData treeData1 = new TreeData();
//        //            treeData1.setId(ciAttrDef.getId() + "-" + ciAttrDef.getName());
//        //            treeData1.setName(ciAttrDef.getName());
//        //            treeData1.setNocheck(true);
//        //            treeData1.setChildren(listResult);
//        //            treeDataList.add(treeData1);
//        //        }
//        JSONArray jSONArray = JSONArray.fromObject(listEventType);
//        renderText(jSONArray.toString());
//        return null;
//    }
//
//    public List<TreeData> getDimensionTreeDate(String rangeId, String ciAttrDefName) {
//        List<CiAttrRange> listAll = ciAttrRangeCache.getAll();
//        //需要的CiAttrRange
//        List<CiAttrRange> list = new ArrayList<CiAttrRange>();
//        for (CiAttrRange ciAttrRange : listAll) {
//            if (rangeId.equals(String.valueOf(ciAttrRange.getRangeId()))) {
//                list.add(ciAttrRange);
//            }
//        }
//        List<TreeData> listTreeData = new ArrayList<TreeData>();
//        for (CiAttrRange ciAttrRange : list) {
//            if (ciAttrRange.getParentId() == null) {
//                TreeData treeData1 = new TreeData();
//                treeData1.setId(ciAttrDefName + "," + String.valueOf(ciAttrRange.getId()));
//                treeData1.setName(ciAttrRange.getVal());
//                treeData1.setNocheck(true);
//                //循环遍历其下范围
//                getDimScope(list, treeData1, ciAttrRange.getId(), ciAttrDefName);
//
//                listTreeData.add(treeData1);
//            }
//        }
//        return listTreeData;
//    }
//
//    private void getDimScope(List<CiAttrRange> list, TreeData treeData, Long parentId, String ciAttrDefName) {
//        //需要的CiAttrRange
//        List<CiAttrRange> resultList = new ArrayList<CiAttrRange>();
//        for (CiAttrRange ciAttrRange : list) {
//            if (parentId.equals(ciAttrRange.getParentId())) {
//                resultList.add(ciAttrRange);
//            }
//        }
//        List<TreeData> listTreeData = new ArrayList<TreeData>();
//        for (CiAttrRange ciAttrRange : resultList) {
//            TreeData treeData1 = new TreeData();
//            treeData1.setId(ciAttrDefName + "," + String.valueOf(ciAttrRange.getId()));
//            treeData1.setName(ciAttrRange.getVal());
//            treeData1.setNocheck(true);
//            getDimScope(list, treeData1, ciAttrRange.getId(), ciAttrDefName);
//
//            listTreeData.add(treeData1);
//        }
//        treeData.setChildren(listTreeData);
//    }
//
//    public List<TreeData> getEventTypeTreeData() {
//        List<TreeData> listResult = new ArrayList<TreeData>();
//        List<ResType> listAll = resTypeCache.getAll();
//        Collections.sort(listAll);
//        List<ResType> list = new ArrayList<ResType>();
//        for (ResType resType : listAll) {
//            if (resType.getParentId() == null) {
//                TreeData treeData = new TreeData();
//                treeData.setId("0-资源类别," + String.valueOf(resType.getId()));
//                treeData.setName(resType.getName());
//                treeData.setNocheck(true);
//                listResult.add(treeData);
//            } else {
//                list.add(resType);
//            }
//        }
//        //循环遍历其下子节点
//        getEventTypeTreeDataCycle(list, listResult);
//        return listResult;
//    }
//
//    private void getEventTypeTreeDataCycle(List<ResType> listScope, List<TreeData> listResult) {
//        for (TreeData treeData : listResult) {
//            List<TreeData> children = new ArrayList<TreeData>();
//            List<ResType> list = new ArrayList<ResType>();
//            for (ResType resType : listScope) {
//                if (String.valueOf(resType.getParentId()).equals(treeData.getId().split(",")[1])) {
//                    TreeData treeData1 = new TreeData();
//                    treeData1.setId("0-资源类别," + String.valueOf(resType.getId()));
//                    treeData1.setName(resType.getName());
//                    treeData1.setNocheck(true);
//                    children.add(treeData1);
//                } else {
//                    list.add(resType);
//                }
//            }
//            if (children.size() != 0) {
//                getEventTypeTreeDataCycle(list, children);
//                treeData.setChildren(children);
//            }
//        }
//    }
//
//    /**
//     * 进入默认页面
//     */
//    @Override
//    public String execute() throws Exception {
//        return SUCCESS;
//    }
//
//    public String initView() throws Exception {
//        ResView[] array = resViewService.findAll();
//        int length = array == null ? 1 : array.length + 1;
//        ResView[] views = new ResView[length];
//        ResView resView = new ResView();
//        resView.setId(-1l);
//        resView.setName("按资源类别");
//        views[0] = resView;
//        int index = 1;
//        if (array != null) {
//            for (ResView rv : array) {
//                views[index++] = rv;
//            }
//        }
//        Struts2Utils.renderJson(views);
//        return null;
//    }
//
//    @Override
//    public Event getModel() {
//        return null;
//    }
//
//    @Override
//    public String list() throws Exception {
//        return null;
//    }
//
//    @Override
//    public String input() throws Exception {
//        return null;
//    }
//
//    @Override
//    public String save() throws Exception {
//        return null;
//    }
//
//    @Override
//    public String delete() throws Exception {
//        return null;
//    }
//
//    @Override
//    protected void prepareModel() throws Exception {
//
//    }
//
//    public String getId() {
//        return id;
//    }
//
//    public void setId(String id) {
//        this.id = id;
//    }
//
//}